@echo off
setlocal enabledelayedexpansion
color b0
title EDV.Agency User Assistant

:: --- ADMIN CHECK ---
net session >nul 2>&1
if %errorLevel% neq 0 (
    echo [!] Admin-Rechte erforderlich. Starte neu...
    powershell -Command "Start-Process '%~f0' -Verb RunAs"
    exit
)

:MENU
cls
echo ==================================================
echo             EDV.Agency User Management
echo ==================================================
echo.
echo [1] User Verwaltung
echo [2] AVG Installation / Deinstallation
echo [3] Drucker Treiber Konica
echo [Q] Schliessen
echo.
set /p "MENUAUSWAHL=Waehle: "

if "%MENUAUSWAHL%"=="1" goto USER_MGT
if "%MENUAUSWAHL%"=="2" goto AVG_MENU
if "%MENUAUSWAHL%"=="3" goto PRINTER_MENU
if /i "%MENUAUSWAHL%"=="Q" exit
goto MENU

:: --- USER VERWALTUNG ---
:USER_MGT
cls
echo [*] Aktive Benutzer:
powershell -NoProfile -Command "Get-LocalUser | Where-Object Name -ne 'support' | ForEach-Object { Write-Host $_.Name }"
echo --------------------------------------------------
set /p "TARGET=Wie lautet der Basisaccount (z.B. jordsand)?: "
if "%TARGET%"=="" goto USER_MGT

:: Pruefe ob User existiert
net user "%TARGET%" >nul 2>&1
if %errorlevel% neq 0 (
    echo [!] Fehler: Der User "%TARGET%" existiert nicht!
    pause & goto USER_MGT
)

:: Name aendern - Raus aus der Klammer!
set /p "CHG_NAME=Angezeigten Namen aendern? *nur Visuell* (J/N): "
if /i "%CHG_NAME%" neq "J" goto SKIP_NAME
set /p "NEWNAME=Neuer vollstaendiger Name fuer die Maske: "
powershell -NoProfile -Command "Set-LocalUser -Name '%TARGET%' -FullName '!NEWNAME!'"
echo [OK] Anzeigename geaendert.
:SKIP_NAME

set /p "CHG_PASS=Kennwort aendern? (J/N): "
if /i "%CHG_PASS%"=="J" net user "%TARGET%" *

set /p "EXP=Soll das Kennwort ablaufen (Standard N)? (J/N): "
if /i "%EXP%"=="J" (
    powershell -NoProfile -Command "Set-LocalUser -Name '%TARGET%' -PasswordNeverExpires $false"
) else (
    powershell -NoProfile -Command "Set-LocalUser -Name '%TARGET%' -PasswordNeverExpires $true"
)

set /p "CHG_LOG=Passwort bei Login aendern? (Standard N)? (J/N): "
if /i "%CHG_LOG%"=="J" (
    net user "%TARGET%" /logonpasswordchg:yes
) else (
    net user "%TARGET%" /logonpasswordchg:no
)

set /p "LOGOFF=Einmal abmelden und neu anmelden? (J/N): "
if /i "%LOGOFF%"=="J" shutdown /l
goto MENU

:: --- AVG MENUE ---
:AVG_MENU
cls
echo [*] AVG Installation-Assistent
echo [1] Installieren
echo [2] Deinstallieren
echo [Q] Zurueck
set /p "AVG_OPT=Auswahl: "
if "%AVG_OPT%"=="1" winget install --id XP8BX2DWV7TF50 --silent --accept-package-agreements --accept-source-agreements
if "%AVG_OPT%"=="2" winget uninstall --id XP8BX2DWV7TF50 --silent
echo [OK] Aktion abgeschlossen.
pause & goto MENU

:: --- PRINTER MENUE ---
:PRINTER_MENU
cls
echo [*] Konica Drucker-Treiber
set "ZIP=C:\treiber\konica.zip"
set "URL=https://dl.konicaminolta.eu/de/?tx_kmdownloadproxy_downloadproxy[fileId]=79e80c1fac72c10eef7debe6cf820830&tx_kmdownloadproxy_downloadproxy[documentId]=147714&tx_kmdownloadproxy_downloadproxy[system]=KonicaMinolta&tx_kmdownloadproxy_downloadproxy[language]=DE&type=1558521685"

if not exist "C:\treiber" mkdir "C:\treiber"

if not exist "%ZIP%" (
    echo [*] Lade Treiber herunter...
    powershell -Command "Invoke-WebRequest -Uri '%URL%' -OutFile '%ZIP%'"
) else (
    echo [*] ZIP gefunden, ueberspringe Download.
)

echo [*] Entpacke...
powershell -Command "Expand-Archive -Path '%ZIP%' -DestinationPath 'C:\treiber\unpacked' -Force"

echo [*] Starte Setup...
start "" "C:\treiber\unpacked\UPDPCL6Win_3913100MU\UPDSetup64.exe"

echo [OK] Treiber-Installer gestartet.
pause & goto MENU